In many applications, such as Internet-based content distribution networks, a desirable means of delivering information is multicast, which is delivering information simultaneously to a chosen group of hosts. Currently a set of standards exists to support multicast in internet protocol (“IP”) networks. However, overlay (or application-layer) multicast has become an increasingly popular alternative to network-supported IP multicast. While IP multicast is not universally available on the Internet, and requires the allocation of a globally unique IP address for each communicating group, overlay multicast can be easily implemented over existing infrastructure, and no global group identifier is required.
At a high level of abstraction, an overlay network can be described as a directed communication graph where the nodes are the end-systems and an edge between any two nodes represents the path between those two nodes. While this path may actually traverse several routers in the physical network, at this level of abstraction the path is considered as a direct link in the overlay network.
The nodes can be connected through various shapes or topologies, for example, a tree topology. The end systems participate explicitly in forwarding data to other nodes in a store-and-forward way. After receiving data from its parent node in the overlay network, a node will replicate the data on each of its outgoing links and forward it to each of its downstream nodes in the overlay network.
In one example of multicast, a dedicated source host delivers information to a group of receiving hosts. Overlay multicast is implemented in the application layer, and all the data are transmitted using unicast delivery supported in the underlying network. Because of bandwidth limitations, sending data directly from the source simultaneously to each one of the receiving hosts using unicast may be impossible. Therefore, overlay multicast uses receiving hosts to forward information to subsequent receiving hosts. For a given data stream intensity, each receiving host has a fixed bound on the number of subsequent receiving hosts to which it can communicate. These data stream intensities or bandwidth capacity constraints are expressed as out-degree constraints on each one of the nodes or hosts in the multicast tree.
An important practical problem is to determine how to construct a multicast tree that minimizes the largest communication delay observed by the receiving hosts during a multicast. Various studies have been conducted focusing on protocol development for efficient overlay tree construction and maintenance. Examples of these studies include Y. Chu, S. Rao, and H. Zhang, “A Case for End System Multicast,” in Proceedings of ACM Sigmetrics, June 2000, P. Francis, Yoid: Extending the Internet Multicast Architecture, http://www.icir.org/yoid/docs/yoidArch.ps.gz (April 2000), D. Pendarakis, S. Shi, D. Verma and M. Waldvogel, “ALMI: An Application Level Multicast Infrastructure”, in 3rd Usenix Symposium on Internet Technologies systems (USITS), March 2001., B. Zhang, S. Jamin, L. Zhang, Host Multicast: A Frameworkfor Delivering Multicast To End Users, in Proceedings of IEEE Infocom (2002), S. Banerjee, B. Bhattacharjee and C. Kommareddy, Scalable Application Layer Multicast, in Proceedings of ACM Sigcomm 2002, and J. Liebeherr and M. Nahas. “Application-layer Multicast with Delaunay Triangulations”, Global Internet Symposium, IEEE Globecom 2001, November 2001.
Additional examples in peer-to-peer networks relate to tree construction in application level multicast, for example, I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan, Chord: A Scalable Peer-To-Peer Lookup Service For Internet Applications, in Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications, 2001, pp. 149-160, San Diego, Calif., United States, and S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, A Scalable Content-Addressable Network, Proceedings of ACM SIGCOMM (August 2001).
In Y. Chu, S. Rao, S. Seshan, and H. Zhang, “Enabling Conferencing Applications on the Internet Using an Overlay Multicast Architecture”, in Proceedings of ACM SIGCOMM'01, San Diego, Calif., August 2001, a heuristic called Bandwidth-Latency is used to build the multicast overlay tree. This heuristic, which is described in greater detail in Z. Wang and J. Crowcroft, “Bandwidth-delay Based Routing Algorithms”, in IEEE Globecom'95, November 1995, selects paths by choosing those with the greatest available bandwidth (i.e., maximum possible fan-out).
Other approaches to tree construction attempt to construct a rooted spanning tree having a minimum radius using degree constraints. The well known Traveling Salesman Problem (“TSP”), as described for example in S. Arora. “Polynomial-time Approximation Schemes for Euclidean TSP and other Geometric Problems”, Journal of the ACM 45(5) 753-782, 1998, is one special case. In general, however, the degree-constrained spanning tree problem is harder than the TSP. In S. Shi, J. S. Turner and M. Waldvogel. “Dimensioning Server Access Bandwidth and Multicast Routing in Overlay Networks”, The 11th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV 2001), Port Jefferson, New York, June, 2001, S. Shi, J. S. Turner, “Routing in Overlay Multicast Networks”, IEEE INFOCOM, New York City, June 2002 and S. Shi. “Design of Overlay Networks for Internet Multicast”. Ph.D. Thesis, Washington University in St. Louis, August 2002, an NP-hard, minimum diameter, degree-limited spanning tree problem (MDDL) is described, and heuristics for solving the problem are proposed. In the minimum-diameter version considered, the objective is to minimize the largest communication delay between any pair of participating nodes. However, the quality of the heuristic solution observed in the described simulations decreases as the number of nodes increases.
In N. M. Malouch, Z. Liu, D. Rubenstein and S. Sahu. “A Graph Theoretic Approach to Bounding Delay in Proxy-Assisted, End-System Multicast”, Tenth International Workshop on Quality of Service (IWQoS 2002), a radius minimization version is presented, where the distance to the root is minimized. The authors prove that the problem in general is NP-hard and show that in the special case of unit node-to-node delays the problem can be solved optimally in polynomial time. For the case of general distances, a set of heuristics is described. For all the proposed heuristics, the scalability issue remains open. In particular, the worst-case delay bound proven for these algorithms may grow quickly as the size of the system increases.
Therefore, a communication configuration and content delivery scheme are still needed for routing and forwarding data from a source to a selected group of recipients that minimizes the minimum delay from the source to all the clients. The configuration would used an overlay multicast network and would still achieve minimal broadcast delays as the size of the system grows.